Prevent vbd frontend from oopsing if the underlying device doesn't exist.
authorvhanquez@kneesa.uk.xensource.com <vhanquez@kneesa.uk.xensource.com>
Tue, 27 Dec 2005 10:40:33 +0000 (10:40 +0000)
committervhanquez@kneesa.uk.xensource.com <vhanquez@kneesa.uk.xensource.com>
Tue, 27 Dec 2005 10:40:33 +0000 (10:40 +0000)
Signed-off-by: Horms <horms@verge.net.au>
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c

index 7140449af1a1f193f51bdd9a381136ec655ab113..2ec97d1e0b262c07c8d8a526a20a70aefc9dbf9d 100644 (file)
@@ -331,7 +331,12 @@ static void connect(struct blkfront_info *info)
                return;
        }
 
-        xlvbd_add(sectors, info->vdevice, binfo, sector_size, info);
+       err = xlvbd_add(sectors, info->vdevice, binfo, sector_size, info);
+       if (err) {
+               xenbus_dev_fatal(info->xbdev, err, "xlvbd_add at %s",
+                                info->xbdev->otherend);
+               return;
+       }
 
        (void)xenbus_switch_state(info->xbdev, NULL, XenbusStateConnected);